#ifndef _GTREE_NODE_H_
#define _GTREE_NODE_H_

#include "TreeNode.h"
#include "LinkList.h"

namespace MySTL
{

template < typename T >
class GTreeNode : public TreeNode<T>
{
public:
	LinkList<GTreeNode<T>*> child;

	static GTreeNode* NewNode();
};

template < typename T >
GTreeNode<T>* GTreeNode<T>::NewNode()
{
	GTreeNode<T>* ret = new GTreeNode<T>();

	if (NULL != ret)
	{
		ret->m_need_to_delete = true;
	}

	return ret;
}

}

#endif